//package com.kungfuhacking.wristbandpro.chat.activity;
//
//import android.os.Bundle;
//import android.text.TextUtils;
//import android.view.View;
//import android.widget.AdapterView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//
//import com.alibaba.fastjson.JSONObject;
//import com.kungfuhacking.wristbandpro.R;
//import com.kungfuhacking.wristbandpro.base.bean.RequestBean;
//import com.kungfuhacking.wristbandpro.base.view.BaseActivity;
//import com.kungfuhacking.wristbandpro.chat.bean.AddressBean;
//import com.kungfuhacking.wristbandpro.custom.TitleBarView;
//import com.kungfuhacking.wristbandpro.mqtt.MqttConstant;
//import com.kungfuhacking.wristbandpro.mqtt.bean.MessageBean;
//import com.kungfuhacking.wristbandpro.net.BaseNoTObserver;
//import com.kungfuhacking.wristbandpro.net.RetrofitHttpUtil;
//import com.kungfuhacking.wristbandpro.sort.CharacterParser;
//import com.kungfuhacking.wristbandpro.sort.PinyinComparator;
//import com.kungfuhacking.wristbandpro.sort.SideBarView;
//import com.kungfuhacking.wristbandpro.sort.SortAdapter;
//import com.kungfuhacking.wristbandpro.sort.SortModel;
//import com.kungfuhacking.wristbandpro.utils.Constant;
//
//import org.greenrobot.eventbus.EventBus;
//import org.greenrobot.eventbus.Subscribe;
//import org.greenrobot.eventbus.ThreadMode;
//
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.List;
//
//import io.reactivex.disposables.Disposable;
//
//
///**
// * 好友列表页面
// * Created by Aaron on 16/1/19.
// */
//public class ContractsActivity extends BaseActivity implements View.OnClickListener {
//
//    private ListView lvcontract;
//    private List<AddressBean.ContactsEntity> contacts;
//    private List<SortModel> sortList = new ArrayList<>();
//
//    /**
//     * 汉字转换拼音的类
//     */
//    private CharacterParser characterParser;
//    //根据拼音来排列ListView里面的数据类
//    private PinyinComparator pinyinComparator;
//    private SortAdapter adapter;
//    private SortModel currentSortModel;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//
//        setContentView(R.layout.activity_friend_list);
//
//        //实例化汉字转拼音类
//        characterParser = CharacterParser.getInstance();
//        pinyinComparator = new PinyinComparator();
//        initWidget();
//        adapter = new SortAdapter(this, sortList);
//        EventBus.getDefault().register(this);
//
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        getFriendList();
//    }
//
//    /**
//     * 删除了好友
//     */
//    @Subscribe(threadMode = ThreadMode.MAIN) //在ui线程执行
//    public void onDataSynEvent(MessageBean msb) {
//
//        switch (msb.operationStyle) {
//
//            case MqttConstant.OFF_GROUP:
//                if (sortList == null || adapter == null)
//                    return;
//                sortList.remove(currentSortModel);
//                adapter.notifyDataSetChanged();
//                break;
//
//        }
//
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//
//        if (disposable != null)
//            disposable.dispose();
//
//        EventBus.getDefault().unregister(this);
//    }
//
//    private void initWidget() {
//
//        this.lvcontract = (ListView) findViewById(R.id.lv_contract);
//        LinearLayout ll_group = (LinearLayout) findViewById(R.id.ll_group);
//        LinearLayout ll_new_friends = (LinearLayout) findViewById(R.id.ll_new_friends);
//        LinearLayout ll_family_group = (LinearLayout) findViewById(R.id.ll_family_group);
//        TitleBarView titleBarView = (TitleBarView) findViewById(R.id.tbv);
//
//        SideBarView sidrbar = (SideBarView) findViewById(R.id.sidrbar);
//
//        //设置右侧触摸监听
//        sidrbar.setOnTouchingLetterChangedListener(new SideBarView.OnTouchingLetterChangedListener() {
//
//            @Override
//            public void onTouchingLetterChanged(String s) {
//                //该字母首次出现的位置
//                int position = adapter.getPositionForSection(s.charAt(0));
//                if (position != -1)
//                    lvcontract.setSelection(position);
//
//            }
//        });
//
//        titleBarView.setOnRightClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                getFriendList();
//            }
//        });
//        titleBarView.setOnLeftClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                finish();
//            }
//        });
//
//        ll_group.setOnClickListener(this);
//        ll_family_group.setOnClickListener(this);
//        ll_new_friends.setOnClickListener(this);
//
//        lvcontract.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//
//                if (contacts == null)
//                    return;
//
//                currentSortModel = sortList.get(position);
//
//                Bundle b = new Bundle();
//                b.putParcelable("contact", sortList.get(position));
//                nextActivityWithBundle(ContractDetailActivity.class, b);
//
//            }
//        });
//
//    }
//
//    /**
//     * 获取通讯录
//     */
//    private void getFriendList() {
//
//        JSONObject j = new JSONObject();
//        j.put("token", sp.getString(Constant.TOKEN, ""));
//
//        RetrofitHttpUtil.getInstance().myContacts(new BaseNoTObserver<AddressBean>() {
//            @Override
//            public void onHandleSuccess(AddressBean ab) {
//                handleResult(ab.contacts);
//                hideLoading();
//            }
//
//            @Override
//            public void onHandleError(String message) {
//                hideLoading();
//                showErr(message);
//            }
//
//            @Override
//            public void onSubscribe(Disposable d) {
//                disposable = d;
//                showLoading("获取中...");
//            }
//        }, new RequestBean().setData(j.toString()));
//
//    }
//
//    private Disposable disposable;
//
//    /**
//     * 处理数据
//     */
//    private void handleResult(List<AddressBean.ContactsEntity> contacts) {
//
//        this.contacts = contacts;
//
//        SortModel sortModel;
//
//        if (sortList != null)
//            sortList.clear();
//
//        for (int i = 0; i < contacts.size(); i++) {
//
//            sortModel = new SortModel();
//            sortModel.name = contacts.get(i).user.nickName;
//            sortModel.url = contacts.get(i).user.imgUrl;
//            sortModel.phone = contacts.get(i).user.phoneNum;
//            sortModel.topic = contacts.get(i).topic;
//
//            String pinyin = characterParser.getSelling(sortModel.name);
//            String sortString= "";
//            if (!TextUtils.isEmpty(pinyin)) {
//                sortString = pinyin.substring(0, 1).toUpperCase();
//            } else {
//                sortString = "Z";
//            }
//
//            // 正则表达式 判断首字母是否是英文字母
//            if (sortString.matches("[A-Z]"))
//                sortModel.sortLetters = sortString.toUpperCase();
//            else
//                sortModel.sortLetters = "#";
//
//            sortList.add(sortModel);
//        }
//
////        LogUtil.e("tag", "sortList 的个数 : " + sortList.size());
//
//        // 根据a-z进行排序源数据
//        Collections.sort(sortList, pinyinComparator);
////        AddressAdapter adapter = new AddressAdapter(this, contacts);
//        lvcontract.setAdapter(adapter);
//    }
//
//    @Override
//    public void onClick(View v) {
//
//        switch (v.getId()) {
//
//            case R.id.ll_group://群列表
//                nextActivity(ChatGroupListActivity.class);
//                break;
//
//            case R.id.ll_new_friends://新的好友
//                nextActivity(NewFriendsActivity.class);
//                break;
//
//            case R.id.ll_family_group://家庭圈
//                nextActivity(FamilyGroupActivity.class);
//                break;
//
//        }
//
//    }
//
//}
